private_headers = [
  'gdkintl.h',
  'gdkmarshalers.h',
  'gdkkeysyms.h',
  'gdkinternals.h',
  'gdkprivate.h',
  'gdk-private.h',
  'gdkapplaunchcontextprivate.h',
  'gdkclipboardprivate.h',
  'gdkcontentformatsprivate.h',
  'gdkcontentproviderprivate.h',
  'gdkcursorprivate.h',
  'gdkdeviceprivate.h',
  'gdkdisplaymanagerprivate.h',
  'gdkdisplayprivate.h',
  'gdkdndprivate.h',
  'gdkdrawcontextprivate.h',
  'gdkeventsprivate.h',
  'gdkframeclockprivate.h',
  'gdkglcontextprivate.h',
  'gdkkeysprivate.h',
  'gdkmonitorprivate.h',
  'gdkpipeiostreamprivate.h',
  'gdkscreenprivate.h',
  'gdkseatdefaultprivate.h',
  'gdkseatprivate.h',
  'gdktextureprivate.h',
  'gdkvisualprivate.h',
  'gdkvulkancontextprivate.h',
  'keyname-table.h',
  'x11/gdkprivate-x11.h',
  'x11/gdkeventsource.h',
  'wayland/keyboard-shortcuts-inhibit-unstable-v1-client-protocol.h',
  'wayland/pointer-gestures-unstable-v1-client-protocol.h',
  'wayland/server-decoration-client-protocol.h',
  'wayland/tablet-unstable-v2-client-protocol.h',
  'wayland/xdg-foreign-unstable-v1-client-protocol.h',
  'wayland/xdg-shell-unstable-v6-client-protocol.h',
  'win32',
  'quartz',
  'broadway',
  'mir'
]

images = [
  'images/rotated-text.png',
  'images/default_cursor.png',
  'images/help_cursor.png',
  'images/pointer_cursor.png',
  'images/context_menu_cursor.png',
  'images/progress_cursor.png',
  'images/wait_cursor.png',
  'images/cell_cursor.png',
  'images/crosshair_cursor.png',
  'images/text_cursor.png',
  'images/vertical_text_cursor.png',
  'images/alias_cursor.png',
  'images/copy_cursor.png',
  'images/no_drop_cursor.png',
  'images/move_cursor.png',
  'images/not_allowed_cursor.png',
  'images/grab_cursor.png',
  'images/grabbing_cursor.png',
  'images/all_scroll_cursor.png',
  'images/col_resize_cursor.png',
  'images/row_resize_cursor.png',
  'images/n_resize_cursor.png',
  'images/e_resize_cursor.png',
  'images/s_resize_cursor.png',
  'images/w_resize_cursor.png',
  'images/ne_resize_cursor.png',
  'images/nw_resize_cursor.png',
  'images/sw_resize_cursor.png',
  'images/se_resize_cursor.png',
  'images/ew_resize_cursor.png',
  'images/ns_resize_cursor.png',
  'images/nesw_resize_cursor.png',
  'images/nwse_resize_cursor.png',
  'images/zoom_in_cursor.png',
  'images/zoom_out_cursor.png',
]

configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)

gnome.gtkdoc('gdk4',
             mode: 'none',
             main_xml: 'gdk4-docs.xml',
             src_dir: [
	       join_paths(meson.source_root(), 'gdk'),
	       join_paths(meson.source_root(), 'gdk', 'x11'),
	       join_paths(meson.source_root(), 'gdk', 'wayland'),
	       join_paths(meson.build_root(), 'gdk'),
	     ],
             dependencies: libgtk_dep,
             gobject_typesfile: join_paths(meson.source_root(), 'docs/reference/gdk/gdk4.types'),
             scan_args: [
               '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
               '--ignore-headers=' + ' '.join(private_headers),
             ],
             fixxref_args: [
               '--html-dir=@0@'.format(docpath),
               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
               '--extra-dir=@0@'.format(cairo_docpath),
             ],
             html_assets: images,
             install: true)
